home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 2 / Atari Forever 2.zip / Atari Forever 2.iso / serie_v / v_137 / arc.doc < prev    next >
Text File  |  1984-05-01  |  18KB  |  389 lines

  1.  
  2.  
  3. INTRODUCTION
  4.  
  5.      Purpose and Capabilities
  6.           ARC (short for archive) is a file library and compression
  7.           utility.  It may be thought of as an improved version
  8.           of LU and SQUEEZE all rolled into one program.
  9.  
  10.           ARC analyzes each file to see which of a number of
  11.           compression techniques will generate the smallest code.
  12.           The following estimates give the user a general idea of
  13.           how much compression may be gained by using ARC.
  14.  
  15.                 ARC Text -            45-55% reduction from original
  16.                 SQUEEZED Text -       30-40% reduction
  17.  
  18.                 ARC Programs -        25-30% reduction
  19.                 SQUEEZED Programs -   15-20% reduction
  20.  
  21.                 ARC Pictures -        45-55% reduction
  22.                 SQUEEZED Pictures -   40-50% reduction
  23.                 TINY Pictures -       40-50% reduction
  24.  
  25.           The user should see that compressing files with ARC
  26.           will allow easier telecommunications by combining files
  27.           and shortening their transfer time.
  28.  
  29.      Usage from TOS
  30.           - double-click-left on ARC.TTP icon
  31.           - observe OPEN APPLICATION menu for ARC.TTP parameters
  32.           - enter switch, archive name and file template
  33.             (ex: lh arc.arc *.*)
  34.           - hit return or click-left on OK box to begin execution
  35.           - "press any key to continue" after completion
  36.  
  37.           ARC was written to be used with a command shell rather
  38.           than the desktop.  The only difficulty associated with
  39.           executing from the desktop is that the desktop reappears
  40.           after execution, making it difficult to see what has
  41.           been output to the screen.
  42.  
  43.      Usage from Micro C-Shell
  44.           - observe the % prompt
  45.           - type in command, switch, archive name and file template
  46.             (ex: arc l arc.arc *.*)
  47.           - hit return to begin execution
  48.           - use CNTL-S and CNTL-Q keys as necessary to view text
  49.             before it scrolls off the screen
  50.  
  51.           There is one complication to using ARC from the Beckemeyer
  52.           C-Shell.  When specifying file templates (ex: *.*), the
  53.           C-Shell will look at the current directory and expand the
  54.           template to the files matched.  The problem arises because
  55.           this template is intended to match files inside the archive
  56.           library (.ARC file).  There is a simple solution just
  57.           surround the template with double quotes, this tells the
  58.           C-Shell not to expand the template.
  59.  
  60.      History
  61.           ARC has been in use in the CP/M and MS-DOS world for many
  62.           years.  Thom Henderson developed the version which I
  63.           converted for use on the Atari ST.  I am not sure but he
  64.           may also be the original author.
  65.  
  66.           It is important to note that no matter who developed this
  67.           program, ARC is based on the file compression theories
  68.           developed by Huffman, Welch, Knott, Knuth, and many other
  69.           scientists.
  70.  
  71.      Bug Reports
  72.           Since I developed this version of ARC, I will be responsible
  73.           for any erroneous features.  Please relay any problems with
  74.           a written discription of what happened and the .ARC file
  75.           which caused the problem to:
  76.  
  77.                         Harvey Johnson
  78.                         2398 Oaklyn St NE
  79.                         Palm Bay, FL 32907
  80.  
  81.                              - or -
  82.  
  83.                       QUILL BBS 305-724-2303
  84.  
  85.  
  86.      Future Products
  87.           It would be nice to have a version of ARC written to utilize
  88.           GEM.  I would also like to write a picture display feature
  89.           that will show compressed pictures directly to the screen.
  90.           This will be useful in that ARC squeezes file 5 to 10% smaller
  91.           than TINY format.  If anyone has the C source to dump NEO,
  92.           Degas, or other pictures to the screen please upload a copy
  93.           to QUILL BBS.
  94.  
  95.           It would also be nice to allow file redirection from Micro
  96.           C-Shell; however, this is not possible because Micro C-Shell
  97.           and Megamax C are not compatible at this time.
  98.  
  99.           If you have any ideas for additional capabilities, then send
  100.           them to me with a detailed explanation.  All thoughts are
  101.           welcome.
  102.  
  103.      Donations
  104.           It would be nice to be supported if you think that ARC
  105.           is any good.  Make no mistake, I did NOT write the original
  106.           version of ARC, but I have spent all my extra time for
  107.           two months making it a reality on the Atari ST.
  108.  
  109.           As I do recieve contributions, I will consider improvements
  110.           more seriously.  Any donations may be sent to address
  111.           specified in Bug Report section.
  112.  
  113.           Thank you one and all in advance for considering this
  114.           request, but if you are like me (lazy) then I don't
  115.           really expect to ever see a single dime.
  116.  
  117.  
  118.  
  119.  
  120. ARCHIVE (ARC.TTP)
  121.  
  122.      Usage
  123.           arc {amufdxerplvtc}[bswnh][g<password>] <archive> [<filname> ...]
  124.  
  125.                a   = add files to archive
  126.                m   = move files to archive
  127.                u   = update files in archive
  128.                f   = freshen files in archive
  129.                d   = delete files in archive
  130.                x,e = extract files from archive
  131.                r   = run one file with arguments from archive
  132.                p   = copy files from archive to standard output
  133.                l   = list files in archive
  134.                v   = verbose listing of files in archive
  135.                t   = test archive integrity
  136.                c   = convert entry to new packing method
  137.  
  138.                b   = retain backup copy of archive
  139.                s   = suppress compression (use Method 2)
  140.                w   = suppress warning messages
  141.                n   = suppress notes and comments
  142.                h   = hold screen before returning to Desktop
  143.  
  144.                g   = encrypt/decrypt archive entry
  145.  
  146.      Description
  147.           This program is a general archive utility, and is
  148.           used to maintain an archive of files.  An "archive"
  149.           is a single file that combines many files, reducing
  150.           storage space and allowing multiple files to be
  151.           handled as one.
  152.  
  153.      Switches
  154.           a - add files to archive.  This switch will force update
  155.               or addition the indicated reguardless of creation
  156.               time and date.
  157.           m - move files to archive.  Same as "a" switch except
  158.               that the files are deleted from the directory as
  159.               they are moved to the archive.
  160.           u - update files in archive.  This switch will only update
  161.               files when the creation date is newer than the
  162.               corresponding file in the archive.  New files will
  163.               be added automatically.
  164.           f - freshen files in archive.  Same as "u" except that
  165.               new files will not be added.
  166.           d - delete files in archive.  The files are lost forever
  167.               and the archive is recompacted to remove the data
  168.               for these files.
  169.           x,e - extract files from archive.  A copy of the files
  170.               in the archive are created in the current directory
  171.               in an uncompacted state.
  172.           r - run one file with arguments from archive.  Any
  173.               program (.TTP, .TOS, or .PRG) may be executed directly
  174.               from the archive.  If the program has a resource (.RSC)
  175.               it must have the same name as the program
  176.               (ex: editor.RSC for editor.PRG).  The parameters
  177.               after the program name are passed to the program
  178.               without modification (doubleqotes may be necessary).
  179.           p - copy files from archive to standard output.  Useful
  180.               for viewing test files in an archive.  May also be
  181.               handy when used with I/O redirection in C-shells.
  182.           l - list files in archive.  Limited information listing
  183.               of files contained in an archive.  Displays only the
  184.               filename.
  185.           v - verbose listing of files in archive.  Complete
  186.               information listing of files contained in an archive.
  187.               Displays the filename, original length, storage method,
  188.               storage factor (% savings), compacted size, date, time,
  189.               and CRC.
  190.           t - test archive integrity.  Check the archive to make sure
  191.               it does not have any bad files contained.
  192.           c - convert entry to new packing method.  Convert files
  193.               stored with older methods to newer methods that are
  194.               more efficient.
  195.           b - retain backup copy of archive.  Keep the original
  196.               archive file and rename to .BAK.  The new version
  197.               is named .ARC.  This switch may be used with the
  198.               following switches:  a, m, u, f, d, c.
  199.           s - suppress compression.  This forces new files to be
  200.               saved using Method 2 (no compaction).  This switch
  201.               may be used with the following switches:  a, m, u, f, c.
  202.           w - suppress warning messages.  This switch will keep
  203.               warning message from being displayed which is the default.
  204.               Most warnings concern the deletion or existence of
  205.               files with the same name.
  206.           n - suppress notes and comments.  This switch will keep
  207.               useful notes from being diaplyed which is the default.
  208.               Most notes indicate what stage of compaction is
  209.               being run (analyze, compaction, storage).
  210.           h - hold screen before returning to Desktop.  This switch
  211.               should be used whenever ARC is executed from the
  212.               Desktop, except in conjunction with file redirection.
  213.           g - encrypt/decrypt archive entry.  This is used encode
  214.               files so that others may not read them.  BE CAREFUL!
  215.               This must be the last parameter in the switches because
  216.               everything following is part of the password.
  217.  
  218.      Examples
  219.           Micro C-Shell users should remember to use quotes with
  220.           each template in the following examples to prevent
  221.           expansion by the shell, see examples.
  222.  
  223.           % arc                   will show usage instructions
  224.           % arc v old.arc         will show detailed listing of
  225.                                   files stored in an archive
  226.           % arc v old             same as previous example
  227.                                   because .ARC is assumed
  228.           % arc x old             will extract all files
  229.           % arc x old *.c         will extract all .C files
  230.           % arc x old "*.c"       same as previous example
  231.           % arc p old file.doc    will print a file to screen
  232.           % arc u old *.c         will update or insert the .C
  233.                                   files in current directory
  234.           % arc ub old "*.c"      same as above except old
  235.                                   archive is renamed OLD.BAK
  236.           % arc ugHIDE diary dec86.txt
  237.                                   will update diary.arc with
  238.                                   dec86.txt that is encrypt with
  239.                                   the key "HIDE"
  240.           % arc xgHIDE diary dec86.txt
  241.                                   will extract dec86.txt from diary.arc
  242.                                   and decrypt with the key "HIDE"
  243.           % arc r util.arc editor text.doc
  244.                                   will run the program editor
  245.                                   (.TTP, .TOS or .PRG) and pass
  246.                                   text.doc as an argument
  247.  
  248.           File redirection is available when executing ARC from
  249.           the Desktop (Micro C-Shell apparently has a
  250.           hidden defect which prevents this capability).  In
  251.           order to redirect the output, just add >FILENAME
  252.           to the end of any example above where FILENAME is the
  253.           name of the file to recieve the output which normally
  254.           is displayed on the screen.
  255.  
  256.  
  257.  
  258.  
  259. ARCHIVE MERGE (ARCM.TTP)
  260.  
  261.      Usage
  262.           arcm <tgtarc> <srcarc> [<filename> ...]
  263.  
  264.                <tgtarc> is the archive to add files to
  265.                <srcarc> is the archive to get files from
  266.                <filename> is the specific files to get
  267.                           from <srcarc>, *.* is assumed
  268.  
  269.      Description
  270.           This program is used to merge archives.  That is,
  271.           to move files from one archive to another with
  272.           no data conversion necessary.  Notice you may only
  273.           merge two archives at a time.
  274.  
  275.      Examples
  276.           Micro C-Shell users should remember to use quotes with
  277.           each template in the following examples to prevent
  278.           expansion by the shell, see last example.
  279.  
  280.           % arcm                  will show usage instructions
  281.           % arcm put.arc get.arc  will add all files from get.arc
  282.                                   to put.arc
  283.           % arcm put get          same as previous example
  284.                                   because .ARC is assumed
  285.           % arcm put get *.c      will add only .C files from
  286.                                   get.arc to put.arc
  287.           % arcm put get "*.c"    same as previous example
  288.  
  289.  
  290.  
  291.  
  292. ARCHIVE EXTRACT (ARCX.TTP)
  293.  
  294.      Usage
  295.           arcx <arcname> [<arcname> ...]
  296.  
  297.      Description
  298.           This program is used to extract files from multiple
  299.           archives creates using the ARC general maintenance
  300.           program.  It is similar to ARC X except that it allows
  301.           the user to specify many archive libraries or use
  302.           an archive filename template.  This utility will
  303.           extract all files from each archive indicated.
  304.  
  305.      Examples
  306.           % arcx                  will show usage instructions
  307.           % arcx arc.arc          will extract files from the
  308.                                   archive named "arc.arc"
  309.           % arcx arc              same as previous example
  310.                                   because .ARC is assumed
  311.           % arcx one.arc two      will extract files from the
  312.                                   two specified archives only
  313.           % arcx *.arc            will extract files from all
  314.                                   archives in current directory
  315.  
  316.  
  317.  
  318.  
  319. TECHNICAL
  320.  
  321.      Library Format
  322.           All files are stored in alphabetical order in the
  323.           archive library.
  324.  
  325.           The final .ARC library should have a time of modification
  326.           which is the same as the most recently modified (youngest)
  327.           file in the library.  When each file is extracted its
  328.           time and date are set to that which is stored in the
  329.           header (see next paragraph).
  330.  
  331.           Each entry in the library has a header which contains
  332.           the following information:
  333.  
  334.                    Filename        13 bytes  (char)
  335.                    Size             4        (long)
  336.                    Date             2        (int)
  337.                    Time             2        (int)
  338.                    CRC              2        (int)
  339.                    Length           4        (long)
  340.  
  341.           The filename is always followed by a zero (NUL) character.
  342.           All of the "int" and "long" feilds are stored in reverse
  343.           order, least significant bytes first and most significant
  344.           bytes last.  The date and time use are specified in standard
  345.           format (same as that used on IBM and Atari ST).
  346.  
  347.      Compression Routines
  348.           Method 1 - no conversion - files stored using this method
  349.           are not translated.  This method has been eliminated in
  350.           favor of method two which also stores the original file
  351.           length.  Appears as "--" in verbose listing.
  352.  
  353.           Method 2 - no conversion - files stored using this method
  354.           are not translated.  Appears as "--" in verbose listing.
  355.  
  356.           Method 3 - repeat character compression - files stored
  357.           using this method convert strings of letters to that letter
  358.           followed a count.  "AAAAA" becomes "A5" in simple terms.
  359.           Appears as "Packed" in verbose listing.
  360.  
  361.           Method 4 - Huffman squeezing - files stored using this
  362.           method convert characters to smaller bit strings depending
  363.           on frequency count of appearance in file.  Appears as
  364.           "Squeezed" in verbose listing.
  365.  
  366.           Method 5,6,7 - Lempel-Zev compression - files stored in
  367.           any of these methods take advantage of repeated strings
  368.           of non-identical characters that appear repeatedly
  369.           through the file as well as a hashing function.
  370.           Various additional improvements distinguish this
  371.           methods from each other.  Appears as "crunched" in
  372.           verbose listing.
  373.  
  374.           Method 8 - Dynamic Lempel-Zev - files stored using
  375.           this method takes advantage of repeated strings
  376.           of non-identical characters that appear repeatedly
  377.           throughout the file.  These is by far the most efficient
  378.           and commonly employed method of compression.  Appears
  379.           as "Crunched" in verbose listing.
  380.  
  381.           Other Methods - unknown methods - files stored using more
  382.           advanced techniques may appear in the future.  The
  383.           current version of ARC will not be able to retreive this
  384.           files.  Appears as "Unknown!" in verbose listing.
  385.  
  386.  
  387.  
  388.  
  389.